Sampling synchronization through gps signals

ABSTRACT

A distributed data acquisition system comprising multiple, physically unconnected, data acquisition units that can be in wireless communication with a remote host, timestamps measurement data with sub-microsecond time base accuracy of sampling clock relative to an absolute timeframe. Each unit has a GPS receiver for deriving an absolute time. An analog-to-digital converter samples measurement data using a sampling clock. A hardware logic circuit, such as a field programmable gate array, associates batches of the measurement data with corresponding timestamps representing the current absolute time. A time offset bias may be compensated by a comparison of timestamps with nominal time based on start time and nominal sampling rate. Additionally, the sampling clock may be synchronized using time pulses from the GPS receiver. An initial start of ADC sampling by all data acquisition units may be also synchronized.

CROSS-REFERENCE TO RELATED APPLICATION

The present application claims priority under 35 U.S.C. 119(e) from U.S. provisional application 63/167,785, filed Mar. 30, 2021.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH AND DEVELOPMENT

This invention was made with government support under contract 80AFRC21P0066 awarded by the National Aeronautics and Space Administration, Armstrong Flight Research Center. The government has certain rights in the invention.

TECHNICAL FIELD

The invention relates to measuring and testing instruments and methods with synchronizing arrangements for precise timestamping of data signals measured at widely dispersed locations, and more specifically relates to such instruments and methods that employ transmitted timestamp messages received from satellite radio beacon positioning systems (e.g., GPS, GLONASS, GALILEO) as a basis for the time measurement determinations.

BACKGROUND ART

Multiple data acquisition systems or remote ground sensing and recording units are distributed over hundreds of kilometers. An example of such a distributed system is a ground recording system (GRS) for acoustic sensing of aircraft noise. In most cases, even the closest pair of such units are physically separated by a distance greater than 100 meters from each other. There is no electrical hardware connection between any of them, each unit collecting data essentially independently of the others.

It is necessary for analysis to be able to synchronize the data sampling of the multiple units.

Such systems typically employ the transmitted timestamp messages received from satellite radio beacon positioning systems (e.g., GPS, GLONASS, GALILEO) as a basis for the time measurement determinations. Each of the remote sensor units receives certain commands from a remote computer via wireless communication, and along with the GPS (or related) satellite signals, it uses those GPS signals to synchronize the sampling clocks of the analog-to-digital converters (ADCs) in the sensor unit. Accuracy in the time measurement is extremely important for precise time stamping of the sampled data. For some remote monitoring systems, a one millisecond accuracy may be adequate. However, in some acoustic-sensing ground recording systems, the various remote sensors may need to be operated so that all live data records are timestamped to at least 10 μs accuracy. Other remote condition monitoring applications could have similar, or possibly even more stringent, accuracy requirements.

In a typical data acquisition system, a processor, running software in the form of either a CPU polling or interrupt service routine (ISR), handles the data from the ADCs to apply a time stamp to the acquired data. However, when the data reaches a FIFO (usually a circular buffer) of the processor to receive its time stamp, a variety of factors can create timing errors or latency. Some of the sources of such timing errors or latency in a processor include: (1) when a software subroutine like ReadTime( ) is called, the actual time of hardware execution of the routine by the processor reading the external time source (the GPS time register) cannot be guaranteed at better than 1 millisecond accuracy, and can be as large as several milliseconds; (2) the ADC conversions on different devices driven by different readings of time sources will start at completely different absolute times, leading to time differences in the data from different remote units; (3) ISR latency and resultant time jitter in applied time stamps can be as large as a few hundred microseconds; and (4) in multi-thread programming, a CPU interrupted for a period of time to perform other tasks in parallel with the handling of incoming data will have FIFO pointers changing significantly, such that the time stamping of live data streams will not be accurate. Accordingly, in real-time data acquisition, applying time stamps at the software level is unlikely to achieve an accuracy better than 100 microseconds under the best of circumstances.

To meet a requirement of 10 microsecond timestamping accuracy or better, a different approach is needed.

Crystal Instruments Corporation of Santa Clara, Calif., supplies a series of Spider and CoCo dynamic signal analyzer and vibration data collector products in which multiple distributed measurement devices, which can be located hundreds of meters apart, are synchronized over a single Ethernet cable (the same cable as used for data transmission), using the IEEE 1588 Precision Time Protocol (PTP) to synchronize the ADC sampling clocks of the physically connected units. The sync timing of ADC clocks in the local area network can be as accurate as 50 ns, and the measurement data of up to 512 input channels are time stamped to that same accuracy. As a result, all input channels on the same synchronization domain are sampled at the exact absolute time.

SUMMARY DISCLOSURE

A distributed data acquisition system capable of timestamping collected measurement data with better than 10 microseconds accuracy relative to an absolute timeframe is provided. The system comprises multiple physically unconnected data acquisition units, all can be in wireless communication with a host computer at a central hub. These units are typically distributed over many square kilometers and may be separated from each other by distances as close as 100 meters or as far as hundreds of kilometers (and may even be mobile). Each unit has a satellite radio beacon positioning system receiver (such as a GPS chipset) with a time register, an analog-to-digital converter (ADC) that samples measurement data using a sampling clock connected to a control input of the ADC, and a hardware logic circuit (such as a field programmable gate array) having a first input coupled to an output of the ADC to receive the measurement data, a second input coupled to the time register to receive a current absolute time, an initial start control output coupled to a control input of the ADC, and a data output for supplying timestamped measurement data. In one embodiment of the invention, a digital signal processor will receive batches of measurement data from a data buffer of the hardware logic circuit and simultaneously access an absolute time value from the receiver's time register, associating each batch of data with the accessed timestamp. Knowing the ADC's clock-driven sampling rate, each individual measurement datum in the batch has its own accurately established measurement time.

The timestamped measurement data can receive post-collection software processing to adjust the timestamp values for bias correction. Specifically, a central host processor in communication to receive timestamped measurement data from each data acquisition unit can be configured to compute a bias correction based on a comparison of a measured time from a time stamp of the measurement data with a corresponding nominal time that is based on a start time, nominal sampling rate of the sampling clock, and number of data samples, and apply the computed bias correction to the timestamped measurement data. This bias correction adjustment can be performed at any time after collection of the measurement data. An advantage of applying this timestamp adjustment or correction is that cross-spectrum calculations, including frequency response function, coherence function, phase spectrum, etc., can be performed using data obtained from multiple units of the system, each with their own independent sampling clock and GPS receiver.

Another aspect of the invention, sampling rate disciplining and time synchronization of ADC sampling can yield even further improvements, including synchronized data collection among the several data acquisition units. The GPS clock output can be used to discipline the local sampling clock to reduce any sampling rate drift on the part of each unit's local sampling clock (normally expected to be around lOppm). A host command can control the start of each unit's ADC sampling at an exact absolute time to reduce any phase shift of such sampling. Both solutions simplify the post-processing of data, because if the sampling rate varies to much (local clock drift) or sampling is not properly phase synchronized, then the offset versus GPS absolute time might be too large and unpredictable to adequately correct. Hence, the ADC clock synchronization approaches improve the potential accuracy of cross-spectrum calculations.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic plan view of a satellite synchronized, distributed data acquisition system having features common to both the prior art and the present invention.

FIG. 2 is a schematic view of a basic embodiment of a synchronization circuit for a ground recording unit in accord with the present invention.

FIG. 3 is a schematic view showing one way the hardware logic circuit in the synchronization circuit as in FIG. 2 can apply time stamps to the sampled measurement data.

FIG. 4 is a table of a sequence of measurements with a nominal time of acquired samples based on starting time, number of samples and sampling rate, and with an actual measured time taken from the GPS timestamps corresponding to the samples.

FIG. 5 is a plot of the measured-nominal time difference versus nominal time.

FIG. 6 is a schematic view of a third synchronization circuit embodiment for a ground recording unit employing a sampling clock bias adjustment to the recorded measurement times.

FIGS. 7A and 7B are respective graphs of pairs of measured signals, where the first pair in FIG. 7A from different ground recording units exhibit sampling clock bias in the recorded measurement times, and where the second pair in FIG. 7B show the result of sampling clock bias adjustment by the FIG. 6 embodiment.

FIGS. 8A and 8B are plots of the measured-nominal time difference after bias correction versus nominal time for two different ground recording units, illustrating residual sampling clock drift.

FIG. 9 is a schematic view of an overall hardware architecture of a ground recording unit.

FIG. 10 is a graph of ADC sampling clock and GPS time pulses versus time, showing potential drift of the sampling clock away from standard time.

FIG. 11 is a schematic view of a second synchronization circuit embodiment for a ground recording unit employing regular adjustment of the ADC sampling clock.

FIG. 12 is a graph of ADC sampling clock of two ground recording units and GPS time pulses versus time, showing potential phase mismatch between ADC sampling by different ground recording units.

FIG. 13 is a schematic view of part of a distributed data acquisition system showing one of the ground recording units, as in FIG. 11, and a remote host providing ADC sampling clock synchronization.

DETAILED DESCRIPTION

With reference to FIG. 1, a distributed data acquisition system has a set of recording units 11 a-11 c (often fixed ground units, but mobile units including some onboard aircraft flying above ground at various altitudes are also possible) to provide analog-to-digital sampling of measurement data by each of those units 11 a-11 c. These data acquisition units 11 a-11 c also receive streams of broadcast radio messages 13 a-13 c from a constellation of orbiting satellites 15 that together form a satellite radio beacon positioning system, such the United States' Global Positioning System (GPS), the Russian Federation's Global Navigation Satellite System (GLONASS), the European Union's GALILEO system, or any of the regional satellite navigation systems provided by India, China, or Japan. The stream of received satellite radio messages 13 a-13 c contain satellite position and absolute time information useful not only for determining a data acquisition unit's current position on (or above) the Earth's surface, but also for time stamping and synchronization of the data collection, even when the multiple units 11 a-11 c of the system are widely distributed over many square kilometers. The data acquisition units 11 a-11 c can also receive wireless radio command signals 19 a-19 c from a remote host 17. The overall system in FIG. 1 shows what is common to both the present invention and some prior art remote condition monitoring systems. The difference resides in the specific manner of using the received satellite messages 13 a-13 c by the data acquisition units 11 a-11 c to timestamp the sampled measurement data. The present invention enables timestamping with 10 μs accuracy or better relative to the same absolute timeframe (such as Coordinated Universal Time or UTC) for data synchronization among the widely distributed data acquisition units 11 a-11 c.

With reference to FIG. 2, a basic embodiment of a synchronization circuit for a data acquisition unit has a satellite radio beacon positioning system receiver with a time register, such as an appropriate antenna 11 to receive the satellite messages, a GPS chipset 12 for processing those messages to derive a position and an absolute time maintained in the chipset's time register, and a time register output 13 providing the absolute time value to the rest of the circuit. An example of a GPS chipset 12 that may be used is any of the LEA-6 high-performance stand-alone GPS receiver modules supplied by u-blox AG of Thalwil, canton of Zurich, Switzerland. The GPS timing accuracy under good signal conditions is better than 60 ns with 99% probability according to the specifications of this chipset. GALILEO and GLONASS capable receivers are also available in this chip series. Similar receiver modules from other manufacturers might also be used.

An analog-to-digital converter (ADC) 24 handles the incoming measurement data. An ADC requires a clock 26 with a specific oscillator frequency to drive its sampling. These might include 16.384 MHz, 20.97152 MHz, and 26.2144 MHz, which are configured to match specific sampling frequencies, such as 102.4 kHz or 81.92 kHz. The clock 26 outputs its oscillator signal 25 to drive the data sampling by the ADC 24, which in turn outputs the sampled measurement data 27 in digital form.

A hardware logic circuit 28, which is typically in the form of a field programmable gate array (FPGA), receives the sampled data 27 on one of its inputs and the absolute time value (e.g., UTC) from the time register output 13 of the positioning system receiver chipset 12 on another of its inputs, applies a timestamp to the sampled measurement data and outputs that timestamped data 30, for example to a digital signal processor (DSP) 31 for analysis. The FPGA logic circuit 28 will also manage the initial starting time of ADC conversion via a starting command 29 to the ADC 24.

Specifically, for hardware timestamping operation, the data 30 is sent to the DSP 31 in buffers, where the DSP reads the absolute UTC time from the applied timestamp in a data frame of that received data. Unlike a processor that may encounter many timing errors and latency, an FPGA or other hardware logic circuit 28 conducts tasks with absolute consistency. All its operations are operated at the nanoseconds level with precision timing. By the time the DSP 31 reads the live data, the data already been timestamped by the hardware logic circuit 28.

With reference to FIG. 3, one way the hardware logic circuit or FPGA 28 can apply the time stamp is using a data buffer and a hardware interrupt to the GPS receiver circuit 22. An antenna 21 receives the satellite signals and the GPS receiver 22 decodes them into timing information. The receiver 22 can also receive an external interrupt 34 from the FPGA 28 and saves the current time mark in a register 35 at the instant when it receives the interrupt. After this time mark is obtained, the receiver 22 can transmit the value of this time mark through a serial UART port 36.

After the ADC 24 starts sampling measurement data 27, that data will come into a data buffer 33 in the FPGA 28, where the buffer has a length that can store L measurement points. The reason to have a buffer 33 is that we don't want the DSP 31 reading it too frequently. Instead, after the buffer's last point is filled, the FPGA 28 will send a hardware interrupt 34 to the GPS receiver 22. Within less than 1 μs, the GPS receiver 22 will pass the current time mark to its register 35. After that process is finished, the FPGA will inform the DSP 31 by sending an interrupt 37. The DSP 31 will read the data in the FPGA's buffer 33 and the time mark in the GSP receiver's time register 35. It will associate the measured data by its counter since the ADC 24 reset to the time mark. Both measured data and time marks will be recorded. But the frequency of saving time marks do not need to be as frequent as measured data because we know the nominal sampling rate of the ADC's clock and any sampling clock drift is very slow.

Upon implementing the hardware timestamping strategy of the present invention, it is discovered that a dominant error factor is bias between the local sampling clock against GPS absolute time, even more so than random drift. A ground recording instrument can record the time stamps in a lower data rate of one timestamp every several seconds. A “nominal sampling rate” is the presumed sampling rate of the instrument. A “nominal time” is the time of acquired signal samples calculated based on the starting time, number of samples, and the nominal sampling rate. The “actual time” or “measured time” is the absolute time taken from the time stamps corresponding to the samples of acquired signals. For example, FIG. 4 shows a typical table of a sequence of measurements with a nominal time of acquired samples and with an actual measured time. FIG. 5 is a plot of the measured-nominal time difference versus nominal time. Plotting the measurement data in this way we can see that after roughly 500 seconds of measurement the nominal time is off by 5 milliseconds against the GPS time. In this case the local clock is a bit slower than its nominal sampling rate with a resultant error of 10 ppm (=5 ms offset/500 s of measurement). While this is within the range of expected error of the oscillator used as the unit's sampling clock, it is still too large to conduct signal processing when cross-channel computation is needed. For such processing, the time offset must not exceed 20 μs, and in many vibration and acoustic applications must be within only few microseconds of each other.

Each data acquisition unit has its own internal oscillator(s) to use as its sampling clock, each of which has its own unique deviation from the nominal sampling rate or bias amount. The bias can be as high as 70 ppm in some units. However, because we know it is a bias, instead of random drift, and the amount of bias can be measured prior to deployment of each data acquisition unit, the measurement time can be corrected to account for that known bias. Here, a “corrected sampling rate” is a single constant value for the entire duration of a recording. It is calculated by removing the offset between local clocks against that of GPS time, based on nominal sampling rate, time offset, and measurement duration.

With reference to FIG. 6, a preferred third synchronization circuit embodiment for a data acquisition unit employs a sampling clock bias adjustment to the recorded measurement times. Again, the main section of this circuit is essentially the same as that in FIG. 2. As before, a data acquisition unit has a satellite radio beacon positioning system receiver with a time register, such as an antenna 61 to receive the satellite message stream, a GPS chipset 62 for processing those messages to derive a position and an absolute time maintained in the chipset's time register, and a time register output 63 providing the absolute time value to the rest of the circuit. An analog-to-digital converter (ADC) 67 coupled to the sampling clock 65 handles the incoming measurement data. The clock 65 outputs its oscillator signal 66 to drive the data sampling by the ADC 67, which in turn outputs the sampled data 68 in digital form. A hardware logic circuit 69, which is typically in the form of a field programmable gate array (FPGA), receives the sampled measurement data 68 on one of its inputs and the absolute time value (e.g., UTC) from the time register output 63 of the positioning system receiver chipset 62 on another of its inputs, applies a timestamp to the sampled measurement data and outputs that timestamped data 70, for example to a digital signal processor (DSP) 71 for analysis. (Again, the timestamped data in the DSP can be in the form of two buffers of data, one containing measured data and a second containing associated time stamps received from the time register output 63. A time stamp may be saved for every fixed number of data points, e.g., approximately every 5 seconds.) The FPGA logic circuit 69 will also manage the initial starting time of ADC conversion via a starting command 73 to the ADC 67. At this point, the recorded measurement data and associated time stamps 74 still have a time offset bias due to the internal oscillator or sampling clock 65 running slightly faster or slower than its nominal rate.

A processor, e.g., in a remote host computer, receiving the recorded measurement data and time stamps 74 will compute 75 a corrected sampling rate using first order approximation, apply it to the recorded data 74 and thereby obtain recorded measurement data with adjusted (corrected) measurement times 76 that can be used for subsequent spectral analysis 77 or other cross-channel analyses. The bias correction is a software process carried out by such a processor, not necessarily part of the data acquisition unit, and can be performed much later than the data acquisition.

In more detail, the correction process comprises:

-   1. Calculate the time offset (as shown, for example, in the FIG. 5     plot based on measurement data from FIG. 4) for an entire duration     of measured signals, such as 500 seconds. -   2. Based on the measurement duration and the time difference between     nominal time and GPS time stamps, we calculate the actual sampling     rate as:

Actual sampling rate=Nominal sampling rate/(1+Time Offset/Measurement Duration).

-   3. The bias time adjustment for each measurement is computed by     removing the first-order error to the nominal sampling rate. It     normally does not take into consideration any fluctuation of the     sampling rate (drift) during this period.     For example, if the Nominal Sampling Rate is 64 kHz, the Time Offset     is 0.005 second, and the Measurement Duration is 500 seconds, then     the Actual Sampling Rate is 64 kHz/1.00001=63.99936 kHz. Since we     know that the signals acquired on this unit are recorded with a     slower clock, we can adjust the recorded measurement times during     post-processing. This actual sampling rate will be specific to a     particular oscillator of each ground recording unit. The distributed     system's remote host computer may store a list of actual sampling     rates for each data acquisition unit in the system

FIGS. 7A and 7B illustrate the beneficial effect that such sampling clock bias adjustments can have upon cross-signal analysis of data obtained from different data acquisition units. In FIG. 7A, an impulse event is simultaneously recorded by two different data recording units. Because of their time offsets, the corresponding waveforms 81 and 82 obtained from the measured data do not temporally align. The two signal measurements will be offset by a certain duration even if they have the same starting time-base (as recorded by the two units, waveform 81 is seen to have a later measured time than waveform 82). In FIG. 7B, after correction against the GPS timestamps, the time adjusted waveforms 83 and 84 now line up. After such sampling clock bias adjustment, all classical processing methods, such as fast Fourier transform (FFT), frequency response function (FRF), coherence function, etc. can be used.

FIGS. 8A and 8B show the adjusted time offset of two signal measurements on different data acquisition units after the bias corrections have been applied. The vertical axis shows (measured time—nominal time)—bias correction in seconds in relation to a measurement duration of roughly 1000 seconds (the horizontal axis). This illustrates that the sampling clock drift over that measurement, which is seen to be at most 6 μs. (Use of the GPS clock to adjust the ADC sampling clock, as in FIG. 11 below, is one way to compensate for such residual drift and minimize its impact.)

An advantage of employing this bias correction technique is that now a user can apply cross-term computations to all acquired data from different distributed devices. For example, a user can calculate transfer functions (FRF), cross-spectrum, correlation function, or coherence function between data from any two or more input channels from separate data acquisition units. In the case, for example of acoustic sensing of aircraft noise, synchronized timing between multiple ground recording units located several kilometers apart will help to accurately determine sound propagation delay, which can complement determination of atmospheric turbulence on sonic boom signature measurements. (In the embodiments discussed below with reference to FIG. 10-13, still further features that account for sampling clock drift and synchronized sampling starts will enhance this cross-term computation capability even more.)

Timestamps may become unavailable from time to time due to a loss of signal from one or more GPS satellites. And even with good receiving conditions, a receiver-derived timestamp might sometimes exhibit occasional discontinuities. Either of these situations is still acceptable because the internal oscillator continues to run. The accuracy and stability of this internal oscillator is sufficient for a short duration until the GPS satellite signal is reacquired. The timestamps do not need to be continuous, so long as we can get a rough curve of the set of timestamps to be able to identify and then eliminate erroneous time stamps. If the system has recorded two or more timestamps during the entire data acquisition, it can derive first order (or even higher order) trends of the clock difference and interpolate the appropriate time stamp correction. Even if only one timestamp is obtained over an entire duration of data acquisition, the sampled measurement data will be stamped with single timestamp point. That is still much better than the case that we don't have any GPS time references, because now we know the signal is acquired with time certainty of milliseconds.

FIG. 9 shows the overall hardware architecture of one possible data acquisition unit implementing the invention. Location accuracy provided by the GPS chipset 82 is roughly 2.5 meters. Data acquisition units are often stationary ground recording units (a fixed position), but mobile (even airborne) units are also possible. The GPS module 92 provides a time register output 96 that can be directly accessed by a dual-core processor 101 with a digital signal processing (DSP) core. GPS timing accuracy provided by the GPS module 92 is better than 60 ns with 99% probability. Analog-to-digital converters 94 receive analog measurement signatures from sensors, such as microphones 93, with multiple input channel capability (e.g., 4 or 8 analog input channels), and supply sampled digital measurement data 97 to buffers of an FPGA 98. When buffers are full, the FPGA 98 sends an interrupt over a bus 107 to the processor 101, which then accesses both the measurement data over the bus 107 and GPS time mark over the time register pathway 96. The FPGA 98 is hardware that conducts its programmed tasks with absolute consistency. All its operations are operated at nanoseconds level with precision timing. Ethernet connections 114 can be provided for programming various internal functions of the processor 101, the FPGA 98, and the GPS module 92. A two-way communications module 105 (possibly provided with both satellite and cellular communication capability) permits handshaking and receipt of an absolute sampling start time from a host computer. The start time can then be handled by the processor 101 through an ADS-B module 106 and trigger recording interface 107. Other possible data sampling trigger interfaces 108 (satellite, radio frequency, manual) could also be provided for receipt of direct initial start commands. The processor 101 and other ground recording components may be solar powered 109 and have power management and rechargeable battery backup 110 for nighttime operation. Various forms of memory 113 can be coupled to the processor 101, as can input and output interfaces 115.

The foregoing improvements allow accurate timestamping of measurement data to roughly 100 ns relative to absolute time established by each unit's GPS receiver. This is about 100 times better than the 10 μs requirement of the currently most stringent monitoring systems. Additionally, any large offset bias present in the timestamped data can be adjusted with well designed post processing software after the data collection to enable cross-spectrum analyses using data acquired from multiple units.

A second aspect of the invention is to further improve synchronized data collection in such systems via time synchronization of the ADC clocks in the multiple data acquisition systems. This will further improve cross-spectrum calculations even in the presence of unpredictable drift of local sampling clocks. Two specific improvements are presented: (1) using GPS receiver time pulse outputs to regularly discipline the sampling rate of the local sampling clock (FIGS. 10-11); and (2) using a remote central host to communicate an absolute sampling start time of each data acquisition unit (FIGS. 12-13).

With reference to FIG. 10, the diagram illustrates ADC clock drift in concept. The incoming data sampled will be time-stamped at better than 100 ns accuracy. Because the UTC time source is from GPS (or a similar satellite beacon), the 10 MHz (or 25 MHz, depending on the GPS receiver chipset) time stamps 123 will not drift significantly away from the standard GPS time. A problem is that the ADC sampling clock 121, which is driven by an internal oscillator, may itself drift over time at about 50 ppm uncertainty. While it drifts, the sampling interval will be slightly changing over time. As seen in FIG. 10, the ADC sampling clock 121, although it nominally runs at 102.4 kHz for a sampling interval slightly larger than 10 μs, is seen under changing conditions to here be running increasingly fast with slightly shorter and shorter intervals during a data acquisition run. (The oscillator frequency could also drift in the other direction, creating longer sampling intervals, or even change drift direction.) For a recording time of merely a few minutes this would not be a major problem. However, when the recording time is as long as hours or even days this sampling clock drift may make data from different units become incomparable to each other over time.

It is highly desirable to reduce the ADC clock drift. With reference to FIG. 11, an alternative synchronization circuit embodiment for a ground recording station can provide a disciplinary logic to regularly adjust the ADC sampling clock using the clock output from the GPS receiver circuit. The overall structure of the circuitry is basically the same as in FIG. 2, but with one small, but significant, change so that the ADC sampling clock 136 can now receive timing inputs 142 from the GPS receiver circuit 132.

As before, a ground recording unit has a satellite radio beacon positioning system receiver with a time register, such as an appropriate antenna 131 to receive the satellite messages, a GPS chipset 132 for processing those messages to derive a position and an absolute time maintained in the chipset's time register, and a time register output 133 providing the absolute time value to the rest of the circuit. Time pulses are also provided on an output 142 of the GPS receiver 132. An analog-to-digital converter (ADC) 134 coupled to a clock 136 handles the incoming measurement data. The clock 136 outputs its oscillator signal 135 to drive the data sampling by the ADC 134, which in turn outputs the sampled data 137 in digital form. Now the time pulse output 142 operates to regularly keep the clock 136 synchronized with the absolute time provided by the GPS receiver 132. It is noted that a GPS or other satellite beacon signal may not be reliably accessible all the time. When a GPS signal becomes unavailable, the internal clock 56 continues to run on its own, albeit possibly with some slight drift, until resynchronized after reacquisition of the satellite GPS signal.

A hardware logic circuit 138, which is typically in the form of a field programmable gate array (FPGA), receives the sampled data 137 on one of its inputs and the absolute time value (e.g., UTC) from the time register output 133 of the positioning system receiver chipset 132 on another of its inputs, applies a timestamp to the sampled measurement data and outputs that timestamped data 140, for example to a digital signal processor (DSP) 141 for analysis. The FPGA logic circuit 138 will also manage the initial starting time of ADC conversion via a starting command 139 to the ADC 134.

This solution, while it corrects the internal clock 136 from drifting relative to absolute time and ensures accurate timestamping, still does not guarantee a good phase match between sampled data from different devices. With reference to FIG. 12, ADC sampling clocks 153 and 154 of two different data acquisition units and corresponding GPS time pulses 156 versus time illustrate a potential phase mismatch between ADC sampling by different ground recording units. The 102.4 kHz ADC sampling clock 153 is synchronized with the 10 MHz GPS time pulses 156. The 102.4 kHz ADC sampling clock 154 is likewise synchronized with the 10 MHz GPS time pulses 156. However, the two sampling clocks 153 and 154 of the two data acquisition units are not synchronized with each other. Even if all the samples are accurately time-stamped to an accuracy of 100 ns, the exact sampling times of the different devices may still be off by an arbitrary duration up to 360° phase difference, as indicated by the interval 155, which is as much as one entire data sample or about 10 μs.

To address this, the embodiment seen in FIG. 13 provides a further improvement to synchronization, in this case to the sampling time itself. A distributed data acquisition system has multiple data acquisition units (as for example in FIG. 11), one of which is shown as recording unit 161, and a remote host 163 for providing ADC sampling clock synchronization of the data acquisition units 161 via two-way communication 165. This approach will synchronize the absolute time of all ADC sampling clocks 78 on multiple units 161. The clock time synchronization will be as good as 100 ns. This feature will allow the cross-spectrum measurement between input channels on the different recording units with a phase match as accurate as ±1° at 20 kHz. It is possible whenever both GPS time source and host communication are available. To implement this sampling synchronization, the Initial Start 167 action can be driven by a global command from the host computer 163 communicated wirelessly 165 to each recording unit 161. The communicated global start command 167 will specify an exact absolute later known time to be read from the GPS receiver's time register output 166. (This is not simply the sending of a start command to all units. After a handshake protocol to ensure all units are listening, a future start time is sent and receipt by all the units is verified.) The sampling of measurement data by the ADC 169 of each data acquisition unit 161 will start at the commanded absolute time. Then, all the ADCs in the same “sync domain” can sample data at the same time to an accuracy of the UTC time stamp, say 100 ns. 

What is claimed is:
 1. In a distributed data acquisition system having multiple physically unconnected data acquisition units whose collected measurement data are timestamped using a satellite radio beacon positioning system, each data acquisition unit of the distributed data acquisition system comprising: a receiver of transmitted messages from the satellite radio beacon positioning system, the receiver deriving a current absolute time from the messages and having a time register for storing the derived absolute time; an analog-to-digital converter (ADC) having a control input coupled to a sampling clock, a data input receiving analog measurement data signals, and a data output providing sampled digital measurement data concurrent with sampling clock control signals from the sampling clock; and a hardware logic circuit with a data input coupled to the data output of the ADC to receive the sampled digital measurement data therefrom and having a data output providing timestamped measurement data associating batches of sampled measurement data with timestamps with a sub-microsecond accuracy relative to a corresponding absolute time established by the time register of the receiver.
 2. The distributed data acquisition system as in claim 1, wherein the multiple data acquisition units are distributed over at least one square kilometer and any pair of data acquisition units are separated from each other by distances greater than 100 meters.
 3. The distributed data acquisition system as in claim 1, wherein the hardware logic circuit comprises a field programmable gate array.
 4. The distributed data acquisition system as in claim 1, wherein each data acquisition unit also has a digital signal processor coupled to the data output of the hardware logic circuit to receive the measurement data in batches and having a time input coupled to the time register of the receiver to receive the current absolute time therefrom for each batch of measurement data.
 5. The distributed data acquisition system as in claim 1, wherein the hardware logic circuit also has an absolute time input coupled to the time register of the receiver to receive the current absolute time therefrom and associate the absolute time with the received digital measurement data.
 6. The distributed data acquisition system as in claim 1, wherein a central host processor in communication to receive timestamped measurement data from each data acquisition unit is configured to compute a bias correction based on a comparison by the central host processor of a measured time from a time stamp of the measurement data with a corresponding nominal time based on a start time, nominal sampling rate of the clock, and number of data samples, and apply the computed bias correction to the timestamped measurement data.
 7. The distributed data acquisition system as in claim 1, wherein the receiver has a time pulse output providing absolute time pulses synchronized by the messages and wherein the sampling clock has a control input coupled to receive the absolute time pulses from the time pulse output of the receiver, wherein the sampling clock control signals output to the ADC are regularly resynchronized by the absolute time pulses from the receiver.
 8. The distributed data acquisition system as in claim 1, wherein the hardware logic circuit has a start command control output coupled to a second control input of the ADC to establish a specified sampling start time of the ADC.
 9. The distributed data acquisition system as in claim 8, wherein all data acquisition units are in wireless communication with a central host to receive a planned start time command therefrom, the hardware logic circuit of each data acquisition unit reading the time register and sending the start command control output to the ADC according to the received planned start time command.
 10. A data acquisition unit for a distributed data acquisition system, the ground recording unit comprising: a satellite radio beacon positioning system receiver, the receiver having a time register output supplying a current absolute time; an analog-to-digital converter (ADC) that samples measurement data using a clock connected to an input of the ADC; a hardware logic circuit having a first input coupled to an output of the ADC to receive the measurement data, an initial start control output coupled to a control input of the ADC, and a measurement data output providing timestamped measurement data associating batches of sampled measurement data with timestamps with a sub-microsecond accuracy relative to a corresponding absolute time established by the time register of the receiver.
 11. The data acquisition unit as in claim 10, wherein the hardware logic circuit is a field programmable gate array.
 12. The data acquisition unit as in claim 10, wherein the hardware logic circuit has a second input coupled to the time register to receive a current absolute time, apply it to measurement data received on the first input, and supply timestamped measurement data on the measurement data output.
 13. The data acquisition unit as in claim 10, further comprising a digital signal processor coupled to the measurement data output of the hardware logic circuit to receive buffered measurement data in batches, the digital signal processor further coupled to the time register output of the receiver to access a current absolute time and associate the accessed time with each batch of received measurement data.
 14. The data acquisition unit as in claim 10, wherein a remote host processor in communication to receive timestamped measurement data from the data acquisition unit is configured to compute a bias correction based on a comparison by the processor of a measured time from a timestamp of the measurement data with a corresponding nominal time based on a start time, nominal sampling rate of the clock, and number of samples, and applies the bias correction to the timestamped measurement data.
 15. The data acquisition unit as in claim 10, wherein a control input of the clock is coupled to a time pulse output of the receiver for regular synchronization with absolute time.
 16. The data acquisition unit as in claim 10, wherein a start command control input of the ADC is coupled to a start command control output of the hardware logic circuit.
 17. The data acquisition unit as in claim 16, wherein the hardware logic circuit receives commands from a remote central hub, the command designating a planned sampling start time, whereby the ADC starts sampling of measurement data at the planned sampling start time.
 18. A data acquisition unit for a distributed data acquisition system, the ground recording unit comprising: a satellite radio beacon positioning system receiver, the receiver having a time register output supplying a current absolute time; an analog-to-digital converter (ADC) that samples measurement data using a clock connected to an input of the ADC, the clock having a control input coupled to a time pulse output of the receiver for regular synchronization of a clock sampling rate; a hardware logic circuit having a first input coupled to an output of the ADC to receive the measurement data, an initial start control output coupled to a control input of the ADC, and a measurement data output providing timestamped measurement data associating each sampled measurement data with a timestamp with a sub-microsecond accuracy relative to a corresponding absolute time established by the time register of the receiver.
 19. The data acquisition unit as in claim 18, wherein the hardware logic circuit receives commands from a remote central hub, the commands designating a planned sampling start time, the hardware logic circuit coupled to the time register of the receiver and sending a start command to the ADC at the planned sampling start time. 